|
|
4.2 | Introduction to LAN Switching | ||
| 4.2.9 | Memory buffering |
|
An Ethernet switch may use a buffering
technique to store and forward frames. Buffering may also be used when
the destination port is busy. The area of memory where the switch stores
the data is called the memory buffer. This memory buffer can use two
methods for forwarding frames, port-based memory buffering and shared
memory buffering.
In port-based memory buffering frames are stored in queues that are linked to specific incoming ports. A frame is transmitted to the outgoing port only when all the frames ahead of it in the queue have been successfully transmitted. It is possible for a single frame to delay the transmission of all the frames in memory because of a busy destination port. This delay occurs even if the other frames could be transmitted to open destination ports. Shared memory buffering deposits all frames into a common memory buffer which all the ports on the switch share. The amount of buffer memory required by a port is dynamically allocated. The frames in the buffer are linked dynamically to the transmit port. This allows the packet to be received on one port and then transmitted on another port, without moving it to a different queue. The switch keeps a map of frame to port links showing where a packet needs to be transmitted. The map link is cleared after the frame has been successfully transmitted. The memory buffer is shared. The number of frames stored in the buffer is restricted by the size of the entire memory buffer, and not limited to a single port buffer. This permits larger frames to be transmitted with fewer dropped frames. This is important to asynchronous switching, where frames are being exchanged between different rate ports.
|